<?
	/* Se asegura que el archivo es incluido por el index */
	defined( 'LOAD_MODULE_ACTION' ) or die( 'No esta permitido el acceso directo a ' . __FILE__ );
		$this->oTmpObject = new Menu_frm( $this );

	class Menu_frm extends Frm
	{
	function setValue ( $ncMenu )
		{
			$cSql = "SELECT ncMenu,ncMenuPadre,cdMenu, cAccion, bActivo, cParametros, cDescripcion
				FROM gtMenu
				WHERE ncMenu = $ncMenu";
			$aDatos = $this->oDatabase->getArray($cSql);
			$this->setFieldsArray ( $aDatos );
		}
	function Menu_frm( &$oModule )
		{
			$this->Frm( $oModule );
			//Crea los Objetos de los campos de edicion
			$this->aFields['ncMenu']				= new InputNumber( "ncMenu" );
			$this->aFields['ncMenuPadre']		= new InputList( "ncMenuPadre" );
			$this->aFields['cdMenu']				= new InputText( "cdMenu" );
			$this->aFields['cAccion']				= new InputText( "cAccion" );
			$this->aFields['cParametros']		= new InputText( "cParametros" );
			$this->aFields['cDescripcion']		= new InputText( "cDescripcion" );
			$this->aFields['bActivo']				= new InputList( "bActivo" );
		}
	function setLevel( $nLevel)
		{
			switch ( $nLevel )
			{
				case 1:
					$this->aInput = array ( 'ncMenu', 'cdMenu', 'ncMenuPadre' );
					break;
				case 2:
					$this->aInput = array ('ncMenu','ncMenuPadre','cdMenu' ,'cAccion','cParametros','cDescripcion','bActivo');
					break;
			}
		}
	function initializeForm()
		{
			// Si viene el Ubicacion hace el retrieve
				if ( $this->isRetrievable() && $this->aFields['ncMenu']->getValue() )
				{
					$this->setValue( $this->aFields['ncMenu']->getValue() );
				}
			// Configura el Titulo
				$this->setLabel( "Menu" );
			$this->setMultiLanguage();
			return true;
		}
	function initializeField( $cField , &$oField )
		{
			switch ( $cField )
			{
					case 'ncMenu':
						$oField->setHidden();
					break;
					case 'ncMenuPadre':
						$oField->setLabel('Padre');
						$cSql = "SELECT ncMenu,  cdMenu FROM gtMenu";
						if ( $this->aFields['ncMenu']->getValue() ) $cSql .= " WHERE ncMenu <> " . $this->aFields['ncMenu']->getValue();
						$oField->setMatrix($this->oDatabase->getMatrix($cSql));
						$oField->setMandatory($this->isMandatory);
					break;
					case 'cdMenu':
						$oField->setLabel('Menu');
						if( $this->getOptionsLevel() == 2 )
						{
							$oField->setMultilanguageStyle( MULTILANGUAGE_VERTICAL);
							$oField->setMultiLanguage();
						}
					break;
					case 'cAccion':
						$oField->setLabel('Accion');
					break;
					case 'cParametros':
						$oField->setLabel('Parametros');
					break;
					case 'cDescripcion':
						$oField->setLabel('Descripcion');
						$oField->setEditor();
						if( $this->getOptionsLevel() == 2 )
						{
							$oField->setMultiLanguage();
						}
					break;
					case 'bActivo':
						$oField->setLabel('Activo');
						$oField->setDefault(true);
						$oField->setBool();
					break;
			}
 		}
	}
?>